load("//bazel:tachyon_cc.bzl", "tachyon_cc_library", "tachyon_cc_unittest")

package(default_visibility = ["//visibility:public"])

tachyon_cc_library(
    name = "affine_point",
    hdrs = ["affine_point.h"],
    deps = [
        "//tachyon/base:logging",
        "//tachyon/math/base:groups",
        "//tachyon/math/geometry:curve_type",
        "//tachyon/math/geometry:point2",
        "@com_google_absl//absl/strings",
    ],
)

tachyon_cc_library(
    name = "circle",
    hdrs = ["circle.h"],
    deps = [
        ":circle_traits_forward",
        "//tachyon/math/geometry:affine_point",
        "//tachyon/math/geometry:curve_type",
        "@com_google_absl//absl/base",
    ],
)

tachyon_cc_library(
    name = "circle_traits_forward",
    hdrs = ["circle_traits_forward.h"],
)

tachyon_cc_unittest(
    name = "circle_unittests",
    srcs = ["affine_point_unittest.cc"],
    deps = [
        "//tachyon/math/circle/m31:g1",
        "//tachyon/math/circle/m31:g4",
    ],
)
